/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package restaurante.cdp;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import restaurante.cdp.enuns.SituacaoCozinheiro;

/**
 *
 * @author a20101bsi0623
 */
@Entity
public class Cozinheiro extends Funcionario{
    
    private Integer numElaboracao;
    private Pedido pedidoElaboracao;
    private SituacaoCozinheiro situacao;

    public Cozinheiro() {
        numElaboracao = 0;
        pedidoElaboracao = null;
        situacao = SituacaoCozinheiro.DISPONIVEL;
    }
    
    

    public Integer getNumElaboracao() {
        return numElaboracao;
    }

    public void setNumElaboracao(Integer numElaboracao) {
        this.numElaboracao = numElaboracao;
    }

    public Pedido getPedidoElaboracao() {
        return pedidoElaboracao;
    }

    public void setPedidoElaboracao(Pedido pedidoElaboracao) {
        this.pedidoElaboracao = pedidoElaboracao;
    }

    @Enumerated(EnumType.STRING)
    public SituacaoCozinheiro getSituacao() {
        return situacao;
    }

    public void setSituacao(SituacaoCozinheiro situacao) {
        this.situacao = situacao;
    }
    
    
    
    public void elaborar()
    {
        this.pedidoElaboracao.calcTempoEspera();
        this.pedidoElaboracao.setCozinheiro(this);
        this.situacao = SituacaoCozinheiro.COZINHANDO;
        //System.out.println("\nCozinheiro: Elaborando Pedido "+ this.pedidoElaboracao.getNumeroLista()+"\n");
    }
    
    public void terminar()
    {
      //System.out.println("\nCozinheiro: Pedido Elaborado "+ this.pedidoElaboracao.getNumeroLista()+"\n");  
      this.numElaboracao++; 
      this.pedidoElaboracao = null;
      this.situacao = SituacaoCozinheiro.DISPONIVEL;
    }

    @Override
    public void consultaFuncionario() {
        System.out.println("\n--Funcionario--");
        System.out.println(">Nome: "+this.getNome());
        System.out.println(">Tipo: Cozinheiro");
        System.out.println(">Situacao: "+this.getSituacao());
        System.out.println(">Numero de pedidos elaborados: "+this.getNumElaboracao());
    }
}
